package com.czk.algorithm.DivideAndConquer;

/**
 * @Author:ChenZhangKun
 * @Date: 2020/7/25 13:23
 */
public class HanoiTower {
    public static void main(String[] args) {
        hanoiTower(3,'a','b','c');
    }
    public static void hanoiTower(int num,char a,char b,char c){
        if (num==1){
            // 第一个盘
            System.out.println("第一个盘从"+a+" ->"+c);
        }else {
            // n>=2的情况
            // 先把最上面的塔移到B，需要借助C
            hanoiTower(num-1,a,c,b);
            // 把嘴下面的从a->c
            System.out.println("第 "+num+"个盘"+a+"  ->"+c);
            // 将b塔的移到c,需要借助A
            hanoiTower(num-1,b,a,c );
        }

    }
}
